//// 运算类单目操作符函数
//#include <iostream>
//using namespace std;
//
//class Human {
//public:
//    Human(int age = 0, const char* name = "匿名") :m_age(age), m_name(name) {
//        // [int m_age = age;]
//        // [string m_name(name);]
//    }
//    void getInfo() {
//        cout << "姓名:" << m_name << ", 年龄:" << m_age << endl;
//    }
//    // 成员形式操作符函数
//    Human operator-(/* const Human* this */)const {
//        return Human(-this->m_age, ("-" + this->m_name).c_str());
//    }
//private:
//    int m_age;
//    string m_name;
//    friend Human operator+(const Human& l, const Human& r); // 友元声明
//};
//// 全局形式操作符函数  自己课下完成
//
//// 模拟类的设计者(类库\别人设计的类\自己设计的类)
//// -----------------------------
//// 模拟用户(使用类的人)
//
//int main(void) {
//    Human a(22, "张飞"), b(20, "赵云");  // 非常左值
//    const Human c(25, "关羽"), d(32, "马超"); // 常左值
//
//    Human res = -a; // ==> a.operator-() 或  ...
//    res.getInfo();
//
//    res = -c; // ==> c.operator-() 或  ...
//    res.getInfo();
//
//    res = -Human(45, "黄忠"); // ==> Human(45,"黄忠").operator-() 或 ...
//    res.getInfo();
//
//    /*
//      int a = 3, b = 5;         // 非常左值
//      const int c = 7, d = 9;   // 常左值
//
//      |-3|-a;
//      |-7|-c;
//      |-8|-8;
//    */
//    return 0;
//}
